package com.qingzhuge.scheduler.service;

import com.qingzhuge.scheduler.dto.respone.SysTaskScheduledResponseDto;
import com.qingzhuge.scheduler.entity.SysTaskScheduled;
import com.qingzhuge.service.IBasePkLongService;

import java.util.List;

/**
 * @author : zero.xiao
 * @description :
 * @date :2019-05-17 14:34
 * @modified :
 */
public interface ISysTaskScheduledService extends IBasePkLongService<SysTaskScheduled> {

    void updateStatus(Long id, Integer status);

    SysTaskScheduled findTaskJobKeyById(Long id);

    List<SysTaskScheduledResponseDto> getAllTaskDetail();
    /**
     * 新建、修改任务
     */
    void task(SysTaskScheduled taskScheduled);
    /**
     * 暂停所有触发器
     */
    void pauseAllTrigger();
    /**
     * 启动所有触发器
     */
    void startAllTrigger();
    /**
     * 执行作业
     */
    void execTask(Long id);
    /**恢复作业*/
    void openTask(Long id);
    /**
     * 暂停作业
     */
    void stopTask(Long id);
    /**
     * 删除作业
     */
    void delTask(Long id);

    void delTask(String taskName,String taskGroup);
}
